import axios from 'axios'
// create an axios instance
const service = axios.create({
  baseURL: 'http://dev.qmin365.cn:8080', // url = base url + request url
  timeout: 300000 // request timeout
})

// request interceptor
service.interceptors.request.use(
    config => {

      config.headers['Authorization'] = ''
      return config;
    },
    error => {
      // do something with request error
      console.log(error) // for debug
      return Promise.reject(error)
    }
)

// response interceptor
service.interceptors.response.use(
    /**
     * If you want to get http information such as headers or status
     * Please return  response => response
     */

    /**
     * Determine the request status by custom code
     * Here is just an example
     * You can also judge the status by HTTP Status Code
     */
    response => {


      const res = response.data
      // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
      if (res.type === 'logout') {
        // MessageBox.confirm('你已被登出，可以取消继续留在该页面，或者重新登录', '确定登出', {
        //   confirmButtonText: '重新登录',
        //   cancelButtonText: '取消',
        //   type: 'warning'
        // }).then(() => {
        //   store.dispatch('user/resetToken').then(() => {
        //     location.reload()
        //   })
        // })
        // this.$router.push({
        //   path:'/login/index'
        // })
        return
      }
      // if the custom code is not 20000, it is judged as an error.
      if (res.type !== 'error') {
        return res
      } else {
        // Message({
        //   message: res.content || 'Error',
        //   type: 'error',
        //   duration: 5 * 1000,
        //   offset:300,
        //   center: true
        // })

        return Promise.reject(new Error(res.content || 'Error'))
      }
    },
    error => {
      console.log('err' + error) // for debug
      // Message({
      //   message: error.message,
      //   type: 'error',
      //   duration: 5 * 1000
      // })
      return Promise.reject(error)
    }
)

export default service
